home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
- GUS Programmer's Digest Fri Jun 25 00:07 Volume 2: Issue 19
-
- Today's Topics:
- DMA Buffers in PC RAM
- GUS' Timer Precision
- GUS Programmer's Digest V2 #18 (2 msgs)
-
- Standard Info:
- - Meta-info about the GUS can be found at the end of the Digest.
- - Before you ask a question, please READ THE FAQ.
-
- ----------------------------------------------------------------------
-
- Date: Thu, 24 Jun 93 15:33:13 EDT
- From: davidm@opl.com
- Subject: DMA Buffers in PC RAM
- Message-ID: <AFD5D17B-D17C0001@woodstock.opl.com>
-
- I know, my third message in one day. Pardon my bandwidth
- overutilization :-)
-
- I know that if you call UltraStartRecord with the AutoInit
- flag set, it will return an error if the autoinit buffer crosses
- a 64K boundry. It is my understanding that the PC DMA
- controller generates only the 16 low order bits of an address
- while the 4 high order bits are stored in a "page register" (or
- something like that). This indicates to me that the entire DMA
- buffer (regardless of its size) must reside within a single 64K
- page of memory. This leads me to the following questions:
-
- 1) Is it true that the entire DMA buffer (regardless of its size)
- must reside within a single 64K page of memory?
-
- 2) If so, does anyone know how I can allocate memory that
- will be garunteed to all be within a single 64K page of
- memory?
-
- Regarding question two, I know that if I allocate a block of
- memory that is twice the size of my desired buffer (assuming
- that my desired buffer size is less than 32768), then a block
- will exist somewhere within that oversized block that will reside
- in a single 64K page. Is there a cleaner way? I looked in the
- FAQ of comp.os.msdos.programmer and didn't see anything
- about this in there.
-
- Thanks for your help,
- Dave
-
- David MacMahon
- Systems Administrator
- davidm@opl.com
-
- ------------------------------
-
- Date: Thu, 24 Jun 93 12:05:28 EDT
- From: davidm@opl.com
- Subject: GUS' Timer Precision
- Message-ID: <AFD5A0C9-A0CA0001@woodstock.opl.com>
-
- I have a question about the GUS' timers.
-
- The SDK says that the ticks of timer 1 are 80us the ticks
- of timer 2 are 320us. Are these exact values? I assume
- that there is an oscillator on the GUS whose frequency is
- divided down to give these times, but do the frequency and
- the divisor work out to exactly 80us for timer 1? I also
- assume that the freq. of timer 2 exactly equals 1/4 the freq.
- of timer 1.
-
- Assuming my first assumption is correct, does anyone know
- the frequency of the oscillator and/or the value by which it
- is divided?
-
- Thanks for any input,
- Dave
-
- David MacMahon
- Systems Administrator
- davidm@opl.com
-
- ------------------------------
-
- Date: Thu, 24 Jun 93 09:11:22 EDT
- From: dulimart@cps.msu.edu (Hansye S. Dulimarta)
- Subject: GUS Programmer's Digest V2 #18
- Message-ID: <9306241311.AA21345@pixel.cps.msu.edu>
-
- Date: Wed, 23 Jun 93 15:11:12 EDT
- From: dulimart@cps.msu.edu (Hansye S. Dulimarta)
- Subject: Gravis/FORTE - Please read this!!!
- Message-ID: <9306231911.AA18594@pixel.cps.msu.edu>
-
- I'm reading today's digest (Thu, 24 Jun 1993) and found out that I have
- put a wrong subject in my posting. When the above posting was sent, I
- was reading Dave MacMahon's posting (david@opl.com) and used "reply"
- from my emacs' rmail to save my time. Please apologize if the previous
- subject was inappropriate.
-
- Happy GUS hacking,
-
- Hans.
-
- ------------------------------
-
- Date: Thu, 24 Jun 93 11:50:55 EDT
- From: davidm@opl.com
- Subject: Re: GUS Programmer's Digest V2 #18
- Message-ID: <AFD59D60-9D610001@woodstock.opl.com>
-
- In GUS Programmer's Digest V2 #18,
- dulimart@cps.msu.edu (Hansye S. Dulimarta) wrote:
-
- > This is what I'm doing: Using the information in the file PATCH.H in the
- > SDK documentation, I was able to write a program that reads a patch file
- > and parses the data in it. Then, using the function UltraDownload, the
- > program downloaded the sample waveform to the GUS DRAM, and then
- > UltraVoiceOn is called. But.....no sound came out of my speaker. Could
- > anybody tell me what I'm doing wrong here?
-
- I have two ideas:
-
- 1) Did you call UltraEnableOutput?
- 2) Did you call UltraSetVolume?
-
- If you don't enable the output and give the voice some volume, you
- won't hear any sound.
-
- Hope this helps,
- Dave
-
- David MacMahon
- Systems Administrator
- davidm@opl.com
-
- ------------------------------
-
- End of GUS Programmer's Digest V2 #19
- *************************************
-
- To post to tomorrow's digest: <gus-sdk%itchy@dsd.es.com>
- To (un)subscribe or get help: <gus-sdk-request%itchy@dsd.es.com>
- To contact a human (last resort): <gus-sdk-owner%itchy@dsd.es.com>
-
- FTP sites: archive.epas.utoronto.ca pub/pc/ultrasound
- wuarchive.wustl.edu systems/msdos/ultrasound
- Hints:
- - Get the FAQ from the FTP sites or the request server.
- - Mail to <gus-sdk-request%itchy@dsd.es.com> for info about
- other GUS related mailing lists (UNIX, OS/2, GUS-MIDI, etc.)
-
-
-
-